<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>NINJA: NINJA/TreeBuilderExtMem.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">NINJA
   &#160;<span id="projectnumber">2.x</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_tree_builder_ext_mem_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">TreeBuilderExtMem.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_tree_builder_ext_mem_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef TREEBUILDEREXTMEM_HPP</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define TREEBUILDEREXTMEM_HPP</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_array_heap_ext_mem_8hpp.html">ArrayHeapExtMem.hpp</a>&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_stack_8hpp.html">Stack.hpp</a>&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_tree_builder_8hpp.html">TreeBuilder.hpp</a>&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_tree_node_8hpp.html">TreeNode.hpp</a>&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;cfloat&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="keyword">class </span><a class="code" href="class_candidate_heap.html">CandidateHeap</a>;</div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html">   14</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_tree_builder_ext_mem.html">TreeBuilderExtMem</a> {</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <a class="code" href="class_tree_builder_ext_mem.html#a097a3625841011bcb55bc8663696b6de">TreeBuilderExtMem</a>(std::string **<a class="code" href="class_tree_builder_ext_mem.html#a1ed776826f04444636f65539fcfe5672">names</a>,</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;                      <span class="keywordtype">int</span> namesSize,</div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;                      <span class="keywordtype">float</span> *<a class="code" href="class_tree_builder_ext_mem.html#a144639ff1015c261a2aaf16803db8c9e">R</a>,</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;                      std::string <a class="code" href="class_tree_builder_ext_mem.html#a4b2b84b017dd53228e2a6508bd08ad99">njTmpDir</a>,</div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;                      FILE *<a class="code" href="class_tree_builder_ext_mem.html#ab7249446a478f7b77e30e4acf832913a">diskD</a>, <span class="keywordtype">float</span> **<a class="code" href="class_tree_builder_ext_mem.html#a6d04c7dd74f24b8741169d7bd4fcb18d">memD</a>,</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;                      <span class="keywordtype">int</span> memDFirstSize,</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;                      <span class="keywordtype">int</span> firstMemCol,</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;                      <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a5d132013eba6278067226c65ff4befdf">rowLength</a>,</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;                      <span class="keywordtype">long</span> <a class="code" href="class_tree_builder_ext_mem.html#ad79f6b9e37659d5bf70c3718e21c2947">maxMemory</a>);</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <a class="code" href="class_tree_builder_ext_mem.html#a1a01122703a9e481d4d2b441a32accd0">~TreeBuilderExtMem</a>();</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#ab53d954a69fb53cd2f3d89a41e6b766d">   29</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#ab53d954a69fb53cd2f3d89a41e6b766d">K</a>;</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a1ed776826f04444636f65539fcfe5672">   30</a></span>&#160;    std::string **<a class="code" href="class_tree_builder_ext_mem.html#a1ed776826f04444636f65539fcfe5672">names</a>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#ae942b98bb08c642021daf86883316eeb">   31</a></span>&#160;    <a class="code" href="class_tree_node.html">TreeNode</a> **<a class="code" href="class_tree_builder_ext_mem.html#ae942b98bb08c642021daf86883316eeb">nodes</a>;</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a626f360d5e7bd8226f7796c48e0cee5d">   32</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#a626f360d5e7bd8226f7796c48e0cee5d">redirect</a>;</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a35de8f4813b88b208a34bbe6e37df09d">   34</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="class_tree_builder_ext_mem.html#a35de8f4813b88b208a34bbe6e37df09d">returnCandsToHeaps</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#ad7c8613f567142feed3fb7e5ca8dfb72">   35</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="class_tree_builder_ext_mem.html#ad7c8613f567142feed3fb7e5ca8dfb72">useCandHeaps</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a07a5c09c6a3b72b4187ec82a85d76b2a">   36</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="class_tree_builder_ext_mem.html#a07a5c09c6a3b72b4187ec82a85d76b2a">useBinPairHeaps</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a8ff94ee245fbd5a9af6604cddee46836">   37</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a8ff94ee245fbd5a9af6604cddee46836">complexCandidateCount</a> = 2000;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a25916da6a4d22d46dbf542e68f4859ea">   38</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a25916da6a4d22d46dbf542e68f4859ea">complexCandidateRatio</a> = 40;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a3f40c610b80b9b5b70c408384c9e72ab">   39</a></span>&#160;    <span class="keyword">static</span> constexpr <span class="keywordtype">float</span> <a class="code" href="class_tree_builder_ext_mem.html#a3f40c610b80b9b5b70c408384c9e72ab">candHeapDecay</a> = 0.6f;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#aaf55d2b5acf8d4c837cfc2c09398704d">   40</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#aaf55d2b5acf8d4c837cfc2c09398704d">clustCnt</a> = 30;</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a46024bb201d51df4bcd942d2f9debd2d">   41</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a46024bb201d51df4bcd942d2f9debd2d">candHeapThresh</a> = 50000;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#af855fdf19b20a592e844f6c565a4e982">   42</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#af855fdf19b20a592e844f6c565a4e982">nextActiveNode</a>;</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#aff0d916999b5e4ad80171aa18502fb76">   43</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#aff0d916999b5e4ad80171aa18502fb76">prevActiveNode</a>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a2381bdb22844d37e18554f555272ff0c">   44</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a2381bdb22844d37e18554f555272ff0c">firstActiveNode</a>;</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#acb9a7c738ae2fbbd270c04b91d63cdb4">   46</a></span>&#160;    <a class="code" href="class_array_heap_ext_mem.html">ArrayHeapExtMem</a> ***<a class="code" href="class_tree_builder_ext_mem.html#acb9a7c738ae2fbbd270c04b91d63cdb4">arrayHeaps</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a03f19dcfdb1d28c892c51032203d4f5a">   48</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#a03f19dcfdb1d28c892c51032203d4f5a">clustAssignments</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#aa5206abdfa96ffa94008732d720b7430">   49</a></span>&#160;    <span class="keywordtype">float</span> *<a class="code" href="class_tree_builder_ext_mem.html#aa5206abdfa96ffa94008732d720b7430">clustMaxes</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a5e9768d9bc311e744c049d1f62d3346d">   50</a></span>&#160;    <span class="keywordtype">float</span> *<a class="code" href="class_tree_builder_ext_mem.html#a5e9768d9bc311e744c049d1f62d3346d">clustMins</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#aedbbd4020675014bade857e222c5c1bc">   51</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#aedbbd4020675014bade857e222c5c1bc">clustersBySize</a>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a16a555756ad478a46e1b85331a0a5bd9">   52</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#a16a555756ad478a46e1b85331a0a5bd9">clustSizes</a>;</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#aa771bc9ec52cd29ef693b42f6d2c463b">   54</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#aa771bc9ec52cd29ef693b42f6d2c463b">newK</a>;</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#ab7249446a478f7b77e30e4acf832913a">   56</a></span>&#160;    FILE *<a class="code" href="class_tree_builder_ext_mem.html#ab7249446a478f7b77e30e4acf832913a">diskD</a> = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a672a3332a9da5a3e11672fbd83321343">   57</a></span>&#160;    FILE *<a class="code" href="class_tree_builder_ext_mem.html#a672a3332a9da5a3e11672fbd83321343">candFile</a> = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a403430c08b69da50267e34bfa58bcc46">   58</a></span>&#160;    <span class="keywordtype">long</span> <a class="code" href="class_tree_builder_ext_mem.html#a403430c08b69da50267e34bfa58bcc46">candFilePos</a>;</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a1d270a24e9b6d01042d3d75271732546">   60</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a1d270a24e9b6d01042d3d75271732546">numCandTriplesToDisk</a>; <span class="comment">// 16 * 3 pages (or so)</span></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a144639ff1015c261a2aaf16803db8c9e">   63</a></span>&#160;    <span class="keywordtype">float</span> *<a class="code" href="class_tree_builder_ext_mem.html#a144639ff1015c261a2aaf16803db8c9e">R</a>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a480540a8c4d691e82da94e1c1b9799a8">   64</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a480540a8c4d691e82da94e1c1b9799a8">RSize</a>;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a6d04c7dd74f24b8741169d7bd4fcb18d">   65</a></span>&#160;    <span class="keywordtype">float</span> **<a class="code" href="class_tree_builder_ext_mem.html#a6d04c7dd74f24b8741169d7bd4fcb18d">memD</a>;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a98f74a319e5e575865e9a956628954c0">   66</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a98f74a319e5e575865e9a956628954c0">firstColInMem</a>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a3912718f528ea66d87eced66639c51de">   67</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a3912718f528ea66d87eced66639c51de">curColInMem</a>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#ab6952a3aa94a0d3f43955ac582b6478f">   68</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#ab6952a3aa94a0d3f43955ac582b6478f">memDSize</a>;</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a99d871535ef78aaefdafb6bf410ca15e">   70</a></span>&#160;    <span class="keywordtype">float</span> *<a class="code" href="class_tree_builder_ext_mem.html#a99d871535ef78aaefdafb6bf410ca15e">fBuff</a>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#ac2e3a20b053bae3c24dd71357eb37c63">   71</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#ac2e3a20b053bae3c24dd71357eb37c63">candidateCountPerLoop</a>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a0d9a4b3ab6897b284ebaa43933ff4be9">   72</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#a0d9a4b3ab6897b284ebaa43933ff4be9">candidateViewsPerLoop</a>;</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#aa964699ea4e40f6fcb90ed9d03a66f8c">   73</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#aa964699ea4e40f6fcb90ed9d03a66f8c">candidateRowsCountPerLoop</a>;</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a4b2b84b017dd53228e2a6508bd08ad99">   75</a></span>&#160;    std::string <a class="code" href="class_tree_builder_ext_mem.html#a4b2b84b017dd53228e2a6508bd08ad99">njTmpDir</a>;</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#afe236f6821d59ebf61799db00a380103">   77</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#afe236f6821d59ebf61799db00a380103">nextInternalNode</a>;</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a777337240d1679453ee7bc377bdbc31f">   79</a></span>&#160;    <span class="keywordtype">float</span> *<a class="code" href="class_tree_builder_ext_mem.html#a777337240d1679453ee7bc377bdbc31f">candidatesD</a>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a1f6ad52ede316b88af0946feefeef64c">   80</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#a1f6ad52ede316b88af0946feefeef64c">candidatesI</a>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a9f4cd273a24c748da1742a67bb87d032">   81</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_tree_builder_ext_mem.html#a9f4cd273a24c748da1742a67bb87d032">candidatesJ</a>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#adcdadad8691305fed72697823310f4fd">   82</a></span>&#160;    <span class="keywordtype">bool</span> *<a class="code" href="class_tree_builder_ext_mem.html#adcdadad8691305fed72697823310f4fd">candidatesActive</a>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a097532d1b2e32dc065964be64619454f">   83</a></span>&#160;    <a class="code" href="class_stack.html">Stack</a> *<a class="code" href="class_tree_builder_ext_mem.html#a097532d1b2e32dc065964be64619454f">freeCandidates</a>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a25bb731393ce6581026b2375934eb69d">   84</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a25bb731393ce6581026b2375934eb69d">lastCandidateIndex</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#aa356150b0a266390e58eb290e2eee922">   86</a></span>&#160;    <a class="code" href="class_candidate_heap.html">CandidateHeap</a> *<a class="code" href="class_tree_builder_ext_mem.html#aa356150b0a266390e58eb290e2eee922">starterCandHeap</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a2328f300a563f8577d04c75d065b8988">   88</a></span>&#160;    std::vector&lt;CandidateHeap *&gt; *<a class="code" href="class_tree_builder_ext_mem.html#a2328f300a563f8577d04c75d065b8988">candHeapList</a>;</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#aec4be7962057f1a2c9beb6912bb4a730">   90</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_tree_builder_ext_mem.html#aec4be7962057f1a2c9beb6912bb4a730">usingSimpleCandidates</a>;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#adb23e8c6abd2e9772da737bd59f283d2">   92</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_tree_builder_ext_mem.html#adb23e8c6abd2e9772da737bd59f283d2">candidatesSize</a>;</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#accd1869242cfe993b49948a01ec05711">   94</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#accd1869242cfe993b49948a01ec05711">floatSize</a> = 4;</div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#a5d132013eba6278067226c65ff4befdf">   95</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_tree_builder_ext_mem.html#a5d132013eba6278067226c65ff4befdf">rowLength</a>;</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="class_tree_builder_ext_mem.html#ad79f6b9e37659d5bf70c3718e21c2947">   97</a></span>&#160;    <span class="keywordtype">long</span> <a class="code" href="class_tree_builder_ext_mem.html#ad79f6b9e37659d5bf70c3718e21c2947">maxMemory</a>;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <a class="code" href="class_tree_node.html">TreeNode</a> **<a class="code" href="class_tree_builder_ext_mem.html#a1209ad5479e3822de6311cbd39cb897f">build</a>();</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keywordtype">void</span> clusterAndHeap(<span class="keywordtype">int</span> maxIndex);</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">void</span> returnCandidates();</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordtype">void</span> appendCandidate(<span class="keywordtype">float</span> d, <span class="keywordtype">int</span> i, <span class="keywordtype">int</span> j);</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordtype">int</span> appendCandToSimpleList(<span class="keywordtype">float</span> d, <span class="keywordtype">int</span> i, <span class="keywordtype">int</span> j);</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">void</span> removeCandidate(<span class="keywordtype">int</span> x);</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;};</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_tree_builder_ext_mem_html"><div class="ttname"><a href="class_tree_builder_ext_mem.html">TreeBuilderExtMem</a></div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:14</div></div>
<div class="ttc" id="aclass_tree_node_html"><div class="ttname"><a href="class_tree_node.html">TreeNode</a></div><div class="ttdef"><b>Definition:</b> TreeNode.hpp:9</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_ab53d954a69fb53cd2f3d89a41e6b766d"><div class="ttname"><a href="class_tree_builder_ext_mem.html#ab53d954a69fb53cd2f3d89a41e6b766d">TreeBuilderExtMem::K</a></div><div class="ttdeci">int K</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:29</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a07a5c09c6a3b72b4187ec82a85d76b2a"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a07a5c09c6a3b72b4187ec82a85d76b2a">TreeBuilderExtMem::useBinPairHeaps</a></div><div class="ttdeci">static const bool useBinPairHeaps</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:36</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a403430c08b69da50267e34bfa58bcc46"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a403430c08b69da50267e34bfa58bcc46">TreeBuilderExtMem::candFilePos</a></div><div class="ttdeci">long candFilePos</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:58</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_acb9a7c738ae2fbbd270c04b91d63cdb4"><div class="ttname"><a href="class_tree_builder_ext_mem.html#acb9a7c738ae2fbbd270c04b91d63cdb4">TreeBuilderExtMem::arrayHeaps</a></div><div class="ttdeci">ArrayHeapExtMem *** arrayHeaps</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:46</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a2328f300a563f8577d04c75d065b8988"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a2328f300a563f8577d04c75d065b8988">TreeBuilderExtMem::candHeapList</a></div><div class="ttdeci">std::vector&lt; CandidateHeap * &gt; * candHeapList</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:88</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a2381bdb22844d37e18554f555272ff0c"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a2381bdb22844d37e18554f555272ff0c">TreeBuilderExtMem::firstActiveNode</a></div><div class="ttdeci">int firstActiveNode</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:44</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a16a555756ad478a46e1b85331a0a5bd9"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a16a555756ad478a46e1b85331a0a5bd9">TreeBuilderExtMem::clustSizes</a></div><div class="ttdeci">int * clustSizes</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:52</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_ab7249446a478f7b77e30e4acf832913a"><div class="ttname"><a href="class_tree_builder_ext_mem.html#ab7249446a478f7b77e30e4acf832913a">TreeBuilderExtMem::diskD</a></div><div class="ttdeci">FILE * diskD</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:56</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_adb23e8c6abd2e9772da737bd59f283d2"><div class="ttname"><a href="class_tree_builder_ext_mem.html#adb23e8c6abd2e9772da737bd59f283d2">TreeBuilderExtMem::candidatesSize</a></div><div class="ttdeci">float candidatesSize</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:92</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_aedbbd4020675014bade857e222c5c1bc"><div class="ttname"><a href="class_tree_builder_ext_mem.html#aedbbd4020675014bade857e222c5c1bc">TreeBuilderExtMem::clustersBySize</a></div><div class="ttdeci">int * clustersBySize</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:51</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_aa771bc9ec52cd29ef693b42f6d2c463b"><div class="ttname"><a href="class_tree_builder_ext_mem.html#aa771bc9ec52cd29ef693b42f6d2c463b">TreeBuilderExtMem::newK</a></div><div class="ttdeci">int newK</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:54</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a144639ff1015c261a2aaf16803db8c9e"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a144639ff1015c261a2aaf16803db8c9e">TreeBuilderExtMem::R</a></div><div class="ttdeci">float * R</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:63</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a1f6ad52ede316b88af0946feefeef64c"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a1f6ad52ede316b88af0946feefeef64c">TreeBuilderExtMem::candidatesI</a></div><div class="ttdeci">int * candidatesI</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:80</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a0d9a4b3ab6897b284ebaa43933ff4be9"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a0d9a4b3ab6897b284ebaa43933ff4be9">TreeBuilderExtMem::candidateViewsPerLoop</a></div><div class="ttdeci">int * candidateViewsPerLoop</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:72</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_ad7c8613f567142feed3fb7e5ca8dfb72"><div class="ttname"><a href="class_tree_builder_ext_mem.html#ad7c8613f567142feed3fb7e5ca8dfb72">TreeBuilderExtMem::useCandHeaps</a></div><div class="ttdeci">static const bool useCandHeaps</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:35</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a4b2b84b017dd53228e2a6508bd08ad99"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a4b2b84b017dd53228e2a6508bd08ad99">TreeBuilderExtMem::njTmpDir</a></div><div class="ttdeci">std::string njTmpDir</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:75</div></div>
<div class="ttc" id="aclass_stack_html"><div class="ttname"><a href="class_stack.html">Stack</a></div><div class="ttdef"><b>Definition:</b> Stack.hpp:9</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a1d270a24e9b6d01042d3d75271732546"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a1d270a24e9b6d01042d3d75271732546">TreeBuilderExtMem::numCandTriplesToDisk</a></div><div class="ttdeci">int numCandTriplesToDisk</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:60</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a777337240d1679453ee7bc377bdbc31f"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a777337240d1679453ee7bc377bdbc31f">TreeBuilderExtMem::candidatesD</a></div><div class="ttdeci">float * candidatesD</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:79</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_aec4be7962057f1a2c9beb6912bb4a730"><div class="ttname"><a href="class_tree_builder_ext_mem.html#aec4be7962057f1a2c9beb6912bb4a730">TreeBuilderExtMem::usingSimpleCandidates</a></div><div class="ttdeci">bool usingSimpleCandidates</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:90</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a25916da6a4d22d46dbf542e68f4859ea"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a25916da6a4d22d46dbf542e68f4859ea">TreeBuilderExtMem::complexCandidateRatio</a></div><div class="ttdeci">static const int complexCandidateRatio</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:38</div></div>
<div class="ttc" id="a_tree_node_8hpp_html"><div class="ttname"><a href="_tree_node_8hpp.html">TreeNode.hpp</a></div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a480540a8c4d691e82da94e1c1b9799a8"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a480540a8c4d691e82da94e1c1b9799a8">TreeBuilderExtMem::RSize</a></div><div class="ttdeci">int RSize</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:64</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_adcdadad8691305fed72697823310f4fd"><div class="ttname"><a href="class_tree_builder_ext_mem.html#adcdadad8691305fed72697823310f4fd">TreeBuilderExtMem::candidatesActive</a></div><div class="ttdeci">bool * candidatesActive</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:82</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_ac2e3a20b053bae3c24dd71357eb37c63"><div class="ttname"><a href="class_tree_builder_ext_mem.html#ac2e3a20b053bae3c24dd71357eb37c63">TreeBuilderExtMem::candidateCountPerLoop</a></div><div class="ttdeci">int * candidateCountPerLoop</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:71</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_aff0d916999b5e4ad80171aa18502fb76"><div class="ttname"><a href="class_tree_builder_ext_mem.html#aff0d916999b5e4ad80171aa18502fb76">TreeBuilderExtMem::prevActiveNode</a></div><div class="ttdeci">int * prevActiveNode</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:43</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a03f19dcfdb1d28c892c51032203d4f5a"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a03f19dcfdb1d28c892c51032203d4f5a">TreeBuilderExtMem::clustAssignments</a></div><div class="ttdeci">int * clustAssignments</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:48</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_aa5206abdfa96ffa94008732d720b7430"><div class="ttname"><a href="class_tree_builder_ext_mem.html#aa5206abdfa96ffa94008732d720b7430">TreeBuilderExtMem::clustMaxes</a></div><div class="ttdeci">float * clustMaxes</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:49</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a3912718f528ea66d87eced66639c51de"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a3912718f528ea66d87eced66639c51de">TreeBuilderExtMem::curColInMem</a></div><div class="ttdeci">int curColInMem</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:67</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a5d132013eba6278067226c65ff4befdf"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a5d132013eba6278067226c65ff4befdf">TreeBuilderExtMem::rowLength</a></div><div class="ttdeci">int rowLength</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:95</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_ab6952a3aa94a0d3f43955ac582b6478f"><div class="ttname"><a href="class_tree_builder_ext_mem.html#ab6952a3aa94a0d3f43955ac582b6478f">TreeBuilderExtMem::memDSize</a></div><div class="ttdeci">int memDSize</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:68</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a6d04c7dd74f24b8741169d7bd4fcb18d"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a6d04c7dd74f24b8741169d7bd4fcb18d">TreeBuilderExtMem::memD</a></div><div class="ttdeci">float ** memD</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:65</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_af855fdf19b20a592e844f6c565a4e982"><div class="ttname"><a href="class_tree_builder_ext_mem.html#af855fdf19b20a592e844f6c565a4e982">TreeBuilderExtMem::nextActiveNode</a></div><div class="ttdeci">int * nextActiveNode</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:42</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_ae942b98bb08c642021daf86883316eeb"><div class="ttname"><a href="class_tree_builder_ext_mem.html#ae942b98bb08c642021daf86883316eeb">TreeBuilderExtMem::nodes</a></div><div class="ttdeci">TreeNode ** nodes</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:31</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html"><div class="ttname"><a href="class_array_heap_ext_mem.html">ArrayHeapExtMem</a></div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:50</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_aa964699ea4e40f6fcb90ed9d03a66f8c"><div class="ttname"><a href="class_tree_builder_ext_mem.html#aa964699ea4e40f6fcb90ed9d03a66f8c">TreeBuilderExtMem::candidateRowsCountPerLoop</a></div><div class="ttdeci">int * candidateRowsCountPerLoop</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:73</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a626f360d5e7bd8226f7796c48e0cee5d"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a626f360d5e7bd8226f7796c48e0cee5d">TreeBuilderExtMem::redirect</a></div><div class="ttdeci">int * redirect</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:32</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a1209ad5479e3822de6311cbd39cb897f"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a1209ad5479e3822de6311cbd39cb897f">TreeBuilderExtMem::build</a></div><div class="ttdeci">TreeNode ** build()</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.cpp:298</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a98f74a319e5e575865e9a956628954c0"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a98f74a319e5e575865e9a956628954c0">TreeBuilderExtMem::firstColInMem</a></div><div class="ttdeci">int firstColInMem</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:66</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a46024bb201d51df4bcd942d2f9debd2d"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a46024bb201d51df4bcd942d2f9debd2d">TreeBuilderExtMem::candHeapThresh</a></div><div class="ttdeci">static const int candHeapThresh</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:41</div></div>
<div class="ttc" id="a_array_heap_ext_mem_8hpp_html"><div class="ttname"><a href="_array_heap_ext_mem_8hpp.html">ArrayHeapExtMem.hpp</a></div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a1ed776826f04444636f65539fcfe5672"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a1ed776826f04444636f65539fcfe5672">TreeBuilderExtMem::names</a></div><div class="ttdeci">std::string ** names</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:30</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_aa356150b0a266390e58eb290e2eee922"><div class="ttname"><a href="class_tree_builder_ext_mem.html#aa356150b0a266390e58eb290e2eee922">TreeBuilderExtMem::starterCandHeap</a></div><div class="ttdeci">CandidateHeap * starterCandHeap</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:86</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a672a3332a9da5a3e11672fbd83321343"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a672a3332a9da5a3e11672fbd83321343">TreeBuilderExtMem::candFile</a></div><div class="ttdeci">FILE * candFile</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:57</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a35de8f4813b88b208a34bbe6e37df09d"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a35de8f4813b88b208a34bbe6e37df09d">TreeBuilderExtMem::returnCandsToHeaps</a></div><div class="ttdeci">static const bool returnCandsToHeaps</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:34</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a3f40c610b80b9b5b70c408384c9e72ab"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a3f40c610b80b9b5b70c408384c9e72ab">TreeBuilderExtMem::candHeapDecay</a></div><div class="ttdeci">static constexpr float candHeapDecay</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:39</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_aaf55d2b5acf8d4c837cfc2c09398704d"><div class="ttname"><a href="class_tree_builder_ext_mem.html#aaf55d2b5acf8d4c837cfc2c09398704d">TreeBuilderExtMem::clustCnt</a></div><div class="ttdeci">static const int clustCnt</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:40</div></div>
<div class="ttc" id="a_tree_builder_8hpp_html"><div class="ttname"><a href="_tree_builder_8hpp.html">TreeBuilder.hpp</a></div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a097532d1b2e32dc065964be64619454f"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a097532d1b2e32dc065964be64619454f">TreeBuilderExtMem::freeCandidates</a></div><div class="ttdeci">Stack * freeCandidates</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:83</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_afe236f6821d59ebf61799db00a380103"><div class="ttname"><a href="class_tree_builder_ext_mem.html#afe236f6821d59ebf61799db00a380103">TreeBuilderExtMem::nextInternalNode</a></div><div class="ttdeci">int nextInternalNode</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:77</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a25bb731393ce6581026b2375934eb69d"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a25bb731393ce6581026b2375934eb69d">TreeBuilderExtMem::lastCandidateIndex</a></div><div class="ttdeci">int lastCandidateIndex</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:84</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_accd1869242cfe993b49948a01ec05711"><div class="ttname"><a href="class_tree_builder_ext_mem.html#accd1869242cfe993b49948a01ec05711">TreeBuilderExtMem::floatSize</a></div><div class="ttdeci">static const int floatSize</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:94</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a097a3625841011bcb55bc8663696b6de"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a097a3625841011bcb55bc8663696b6de">TreeBuilderExtMem::TreeBuilderExtMem</a></div><div class="ttdeci">TreeBuilderExtMem(std::string **names, int namesSize, float *R, std::string njTmpDir, FILE *diskD, float **memD, int memDFirstSize, int firstMemCol, int rowLength, long maxMemory)</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.cpp:5</div></div>
<div class="ttc" id="aclass_candidate_heap_html"><div class="ttname"><a href="class_candidate_heap.html">CandidateHeap</a></div><div class="ttdef"><b>Definition:</b> CandidateHeap.hpp:7</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a5e9768d9bc311e744c049d1f62d3346d"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a5e9768d9bc311e744c049d1f62d3346d">TreeBuilderExtMem::clustMins</a></div><div class="ttdeci">float * clustMins</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:50</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_ad79f6b9e37659d5bf70c3718e21c2947"><div class="ttname"><a href="class_tree_builder_ext_mem.html#ad79f6b9e37659d5bf70c3718e21c2947">TreeBuilderExtMem::maxMemory</a></div><div class="ttdeci">long maxMemory</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:97</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a8ff94ee245fbd5a9af6604cddee46836"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a8ff94ee245fbd5a9af6604cddee46836">TreeBuilderExtMem::complexCandidateCount</a></div><div class="ttdeci">static const int complexCandidateCount</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:37</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a1a01122703a9e481d4d2b441a32accd0"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a1a01122703a9e481d4d2b441a32accd0">TreeBuilderExtMem::~TreeBuilderExtMem</a></div><div class="ttdeci">~TreeBuilderExtMem()</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.cpp:76</div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a9f4cd273a24c748da1742a67bb87d032"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a9f4cd273a24c748da1742a67bb87d032">TreeBuilderExtMem::candidatesJ</a></div><div class="ttdeci">int * candidatesJ</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:81</div></div>
<div class="ttc" id="a_stack_8hpp_html"><div class="ttname"><a href="_stack_8hpp.html">Stack.hpp</a></div></div>
<div class="ttc" id="aclass_tree_builder_ext_mem_html_a99d871535ef78aaefdafb6bf410ca15e"><div class="ttname"><a href="class_tree_builder_ext_mem.html#a99d871535ef78aaefdafb6bf410ca15e">TreeBuilderExtMem::fBuff</a></div><div class="ttdeci">float * fBuff</div><div class="ttdef"><b>Definition:</b> TreeBuilderExtMem.hpp:70</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_994258571ff4fe75827c48a736f217ad.html">NINJA</a></li><li class="navelem"><a class="el" href="_tree_builder_ext_mem_8hpp.html">TreeBuilderExtMem.hpp</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
  </ul>
</div>
</body>
</html>
